package com.hellobike.haxing.modules.order.entity;

import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;

import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import com.hellobike.haxing.common.annotation.Dict;

/**
 * @Description: 订单退款记录
 * @Author: haxing-boot
 * @Date:   2020-02-08
 * @Version: V1.0
 */
@Data
@TableName("t_order_refund")
public class OrderRefund implements Serializable {
    private static final long serialVersionUID = 1L;
    
	/**id*/
	@TableId(type = IdType.AUTO)
    private java.lang.Long id ;
	/**订单ID*/
	@Excel(name = "订单ID", width = 15)
        private java.lang.Long orderId ;
	/**退款金额*/
	@Excel(name = "退款金额", width = 15)
        private java.math.BigDecimal refundAmount ;
	/**退款原因*/
	@Excel(name = "退款原因", width = 250)
        private java.lang.String refundReason ;
	/**createBy*/
        private java.lang.Integer createBy ;
	/**updateBy*/
        private java.lang.Integer updateBy ;
	/**deleted*/
      @TableLogic
      private java.lang.Integer deleted ;
	/**createTime*/
	@Excel(name = "申请退款时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
        private java.util.Date createTime ;
	/**updateTime*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
        private java.util.Date updateTime ;
	/**退款状态20退款中21已退款(退款成功)22退款失败*/
	@Excel(name = "退款状态20退款中21已退款(退款成功)22退款失败", width = 15)
        private java.lang.Integer refundStatus ;
	/**退款成功时间*/
	@Excel(name = "退款成功时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
        private java.util.Date refundSuccessTime ;
	/**后台操作人*/
	@Excel(name = "后台审核操作人", width = 15)
        private java.lang.String auditUser;
	/**退款第三方流水号*/
	@Excel(name = "退款第三方流水号", width = 32)
        private java.lang.String refundSerialNumber ;
	/**售后类型1全部退货0部分退货*/
	@Excel(name = "售后类型1全部退货0部分退货", width = 15)
        private java.lang.Integer afterType ;
	/**售后订单ID*/
	@Excel(name = "售后订单ID", width = 15)
    private java.lang.Long orderAfterId ;
	/**类型0B端1C端*/
	@Excel(name = "类型0B端1C端", width = 15)
        private java.lang.Integer type ;

	@Excel(name = "退款业务编码", width = 60)
	private String businessNo;
	@ApiModelProperty(value = "退款结果描述")
	private String refundRemark;

	/**订单号*/
	@TableField(exist = false)
	private java.lang.String billNo ;
	/**售后订单号*/
	@TableField(exist = false)
	private java.lang.String afterBillNo ;

}
